1. Technical Field
The present invention relates in general to using data management and storage techniques and concepts from Redundant Array of Independent Disks (RAID) technology and incorporating these techniques and concepts into a single disk drive and in particular to providing and using a redundant array of inexpensive platters (RAIP) within a single disk drive.
2. Description of the Related Art
Redundant Array of Independent Disks (RAID) technology has been developed to provide a reliable foundation for computation by computer systems or servers. RAID allows the combining of two or more disk drives to create an array of disk drives. Hardware or software implementation allows the multiple disk drives to be treated as one logical disk drive. Data is stored redundantly in various ways to enhance data integrity and availability. RAID sub-systems provide cost-effective solutions for storage strategies. RAID systems are also able to provide improved data transfer rates and throughput of data.
RAID technology provides several different ways to use multiple disk drives to increase availability and performance. A number of RAID specifications or levels have been defined wherein each specification or level provides unique capabilities in areas of throughput and fault tolerance. Several RAID levels provide fault tolerance such that if one of the multiple disk drives fails, then access to all data stored on the array is still available. The failed disk drive is able to be replaced or repaired while the array is still usable and accessible.
Various specifications or levels of RAID have been defined and are well known in the art. These RAID levels are incorporated by reference herein. Some of the RAID levels are briefly described below:
xe2x80x9cRAID 0xe2x80x9d uses the concept of drive spanning. Drive spanning allows multiple disk drives to be logically and serially linked into a single logical disk drive. RAID 0 uses xe2x80x9cdata stripingxe2x80x9d in which data is evenly distributed across the physical drives in such a manner as to maximize input or output performance. Data striping divides the logical drive into data blocks called stripes, which are distributed over the disk drives. The layout is such that a sequential read of data on the logical drive results in parallel reads to the disk drives. RAID 0 provides a large logical disk drive through drive spanning and provides performance acceleration through data striping. However, RAID 0 does not provide redundancy.
xe2x80x9cRAID 1xe2x80x9d uses the concept of data mirroring wherein a single logical disk drive is created from two physical disk drives. All data written to the logical drive is written identically to the two disk drives. Thus, a pair of drives with identical data is created. In the event of failure of one of the physical drives, the same data is still accessible from the other physical drive by using a hot-spare drive to reestablish the mirror relationship and redundancy while the failed drive is being replaced or repaired. RAID 1 provides the following advantages: 1) Redundancy through mirrored copy of data; 2) The read performance is superior to RAID 0 and RAID 5 (RAID 5 will be briefly described later in this description); and 3) The write performance and the critical-mode performance are superior to RAID 5. However, RAID 1 provides the following disadvantages: 1) Write performance is worse than RAID 0; 2) The required capacity overhead is higher than in RAID 5; and 3) An even number of physical disk drives is required. RAID 1 is most particularly useful when performance is more important than capacity and when the drive configuration is limited to two disk drives.
xe2x80x9cRAID 1 Enhancedxe2x80x9d (also known as RAID 1E, Hybrid RAID 1, or RAID 6) combines the concepts of data mirroring with data striping. Data is striped across each disk drive in the array. The first set of stripes is the data stripes while the second set of stripes is the mirror stripes (copies) of the first data stripes that are shifted one disk drive. RAID 1 Enhanced shares the same characteristics of RAID 1 but additionally allows more than two disk drives as part of the disk array and also allows an odd number of disk drives as part of the disk array.
xe2x80x9cRAID 10xe2x80x9d (also known as RAID 1+0) combines data mirroring with data striping. RAID 10 provides mirroring of two RAID 0 systems.
xe2x80x9cRAID 3xe2x80x9d stripes data one group of bits or bytes at a time across all the disk drives. Parity information is used to reconstruct missing data and is stored on a separate dedicated drive. A RAID 3 configuration requires at least one parity disk drive and at least two other disk drives. RAID 3 also requires all of the disk drives to be rotationally synchronized. RAID 3 provides the following advantages: 1) Reduction of amount of additional disk space required for redundancy since a parity disk is used; 2) Performance is enhanced in very large block transfers; and 3) Data protection is excellent since, in the event of a drive failure, data is still able to be accessed and reconstructed by using the information from the other disks and the parity disk. RAID 3, however, provides the following disadvantages: 1) Performance bottleneck may exist during write operations since only a single parity disk drive is provided and 2) RAID 3 is obsolete in the sense that it is not able to be used in current SCSI and Fibre Channel drives.
xe2x80x9cRAID 4xe2x80x9d is similar to RAID 3 except that it utilizes larger stripes to improve the write performance of the array. RAID 4 is an older version of RAID 3. The use of parity in RAID 4 greatly reduces the amount of additional disk space required for redundancy, but the single parity disk drive may result in performance bottleneck during write operations.
xe2x80x9cRAID 5xe2x80x9d utilizes the concepts of data striping and block interleaving. The technique provides fault-tolerant data storage and does not require duplicate disk drives such as in RAID 1. RAID 5 spreads the data and parity information across the disks one block at a time. This spreading of information provides maximum read performance when accessing large files and improves array performance in a transaction processing environment. Redundancy is provided by parity information being striped across the drives. The striping of parity information removes the bottleneck that results from storing all of the parity data onto one drive. RAID 5 requires a minimum of three disk drives. The parity data is stored in a storage capacity equivalent to one drive per entire array. Performance in RAID 5 is generally superior than in RAIDS 3 and 4. However, performance boost is somewhat limited to smaller block transfers, such as the size of typical network or Internet files. RAID 5 provides excellent protection in that if any of the disk drives fails, the data is still able to be accessed by using the information from the other disk drives and the striped parity information. RAID 5 provides the following advantages: 1) Redundancy is provided by using parity; 2) the least or minimal amount of storage capacity overhead is used in the number of drives; and 3) The minimal amount of additional disk drives necessary to implement redundancy is used. RAID 5, however, provides the following disadvantages: 1) The write performance is much worse than in RAID 0 and worse than in RAID 1; 2) The read performance is equal to RAID 0 but worse than in RAID 1; and 3) The critical-performance, (i.e. performance when one disk has failed) is the worst among all of the RAID levels.
It is well known in the art that some disk drives each have a single magnetic recording platter with one or more magnetic read/write heads which are used to write and read magnetic data patterns on one or both sides of the platter, and that some disk drives each have multiple platters with multiple heads. The RAID technology provides excellent solutions for storage and high performance access of data. However, the use of multiple disk drives, at times and instances, may be cost prohibitive, expensive, and infeasible in implementing the RAID methodology for deriving the advantages therefrom for desired applications and purposes. Thus, it would be highly desired at these times and instances to incorporate the RAID concepts and techniques into a single disk drive, particularly for providing the cost advantages of using less disk drives.
It would therefore be advantageous and desirable to use data management and storage techniques and concepts from Redundant Array of Independent Disks (RAID) technology and incorporating these techniques and concepts into a single disk drive. It would also be advantageous and desirable to provide using a redundant array of inexpensive platters (RAIP) within a single disk drive wherein RAIP provides cost advantages over RAID. It would still also be advantageous and desirable to provide and utilize RAIP within a single disk drive that has a single platter and multiple heads that allow writing data to and reading data from both sides of the single platter. It would still further be advantageous and desirable to provide and utilize RAIP within a single disk drive that has multiple platters and multiple heads.
It is therefore one object of the present invention to use data management and storage techniques and concepts from Redundant Array of Independent Disks (RAID) technology and incorporating these techniques and concepts into a single disk drive.
It is another object of the present invention to provide using a redundant array of inexpensive platters (RAIP) within a single disk drive wherein RAIP provides cost advantages over RAID.
It is a further object of the present invention to provide and utilize RAIP within a single disk drive that has a single platter and multiple heads.
It is still a further object of the present invention to provide and utilize RAIP within a single disk drive that has multiple platters and multiple heads.
The foregoing objects are achieved as is now described. Redundant Array of Inexpensive Platters (RAIP) uses data management and storage techniques and concepts from Redundant Array of Independent Disks (RAID) technology. These techniques and concepts that are used with multiple disks are incorporated into being used within a single disk drive. RAIP is used within a single disk drive having at least one platter and multiple heads. The at least one platter is utilized in the same or similar manner as-at least one of the multiple disks in a redundant array of independent disks (RAID). RAIP is generally implemented by using each side of a platter of the single disk drive in the same or similar manner as each disk drive of multiple disk drives. A system and method of providing and implementing RAIP within a single disk drive is disclosed. The single disk drive is provided with at least one platter, a number of stripes located in the at least one platter for dividing storage within the at least one platter, and a number of heads communicatively coupled to the at least one platter for writing and reading data thereat. The data is stored in the at least one platter in a redundant array level, and the stripes in the at least one platter are used to provide and store the data in the redundant array level. The redundant array level may be any of various RAIP levels.